কাস্টম এক্সেপশন তৈরি

সি# এ কাস্টম এক্সেপশন তৈরি করার জন্য, আপনি একটি নতুন ক্লাস তৈরি করবেন, যা Exception ক্লাস থেকে ইনহেরিট করবে। কাস্টম এক্সেপশন ব্যবহার করে প্রোগ্রামে নির্দিষ্ট ধরনের ত্রুটি বা অবস্থার জন্য বিশেষ বার্তা ও লজিক যোগ করা যায়, যা সাধারণ এক্সেপশন দিয়ে বোঝানো কঠিন।

কাস্টম এক্সেপশন তৈরি করার ধাপসমূহ

ধাপ ১: একটি নতুন ক্লাস তৈরি করা

প্রথমে, একটি নতুন ক্লাস তৈরি করুন, যা Exception ক্লাস থেকে ইনহেরিট করবে।

ধাপ ২: কনস্ট্রাক্টর যোগ করা

Exception ক্লাসে থাকা কনস্ট্রাক্টরগুলো কাস্টম এক্সেপশন ক্লাসে ব্যবহার করতে পারেন, যাতে কাস্টম বার্তা বা ইনফরমেশন পাঠানো যায়।

উদাহরণ

নিচে একটি কাস্টম এক্সেপশন ক্লাসের উদাহরণ দেওয়া হলো যেখানে InvalidAgeException নামের কাস্টম এক্সেপশন তৈরি করা হয়েছে।

using System;

public class InvalidAgeException : Exception
{
    // ডিফল্ট কনস্ট্রাক্টর
    public InvalidAgeException() : base("Invalid age. Age must be 18 or older.")
    {
    }

    // কাস্টম বার্তার জন্য কনস্ট্রাক্টর
    public InvalidAgeException(string message) : base(message)
    {
    }

    // কনস্ট্রাক্টর যা মেসেজ ও ইননার এক্সেপশন নেয়
    public InvalidAgeException(string message, Exception innerException) : base(message, innerException)
    {
    }
}

এই উদাহরণে InvalidAgeException নামে একটি কাস্টম এক্সেপশন তৈরি করা হয়েছে, যা বয়স যাচাইয়ের সময় ব্যবহৃত হবে।

কাস্টম এক্সেপশন ব্যবহার করা

এখন কাস্টম এক্সেপশন ব্যবহার করার জন্য আমরা একটি মেথড তৈরি করব, যেখানে নির্দিষ্ট শর্ত অনুযায়ী এক্সেপশনটি ছোড়া হবে।

public class AgeValidator
{
    public void ValidateAge(int age)
    {
        if (age < 18)
        {
            throw new InvalidAgeException("Age must be 18 or older to register.");
        }
        else
        {
            Console.WriteLine("Age is valid for registration.");
        }
    }
}

কাস্টম এক্সেপশন হ্যান্ডল করা

এখন আমরা try-catch ব্লকের মাধ্যমে কাস্টম এক্সেপশন হ্যান্ডল করব।

public class Program
{
    public static void Main()
    {
        AgeValidator validator = new AgeValidator();

        try
        {
            validator.ValidateAge(15); // এখানে বয়স ১৫ দেওয়া হয়েছে, যা `InvalidAgeException` ছোড়ে।
        }
        catch (InvalidAgeException ex)
        {
            Console.WriteLine("Custom Exception Caught: " + ex.Message);
        }
        catch (Exception ex)
        {
            Console.WriteLine("An error occurred: " + ex.Message);
        }
    }
}

ব্যাখ্যা

১. InvalidAgeException ক্লাস: এই ক্লাসটি Exception ক্লাস থেকে ইনহেরিট করে, এবং আমরা এতে কাস্টম বার্তা প্রদান করার জন্য কয়েকটি কনস্ট্রাক্টর তৈরি করেছি। ২. ValidateAge মেথড: এখানে বয়স যাচাই করা হয়েছে, এবং যদি বয়স ১৮-এর কম হয়, তবে InvalidAgeException ছোড়া হবে। ৩. try-catch ব্লক: InvalidAgeException ক্যাচ করে এবং প্রোগ্রামটি ক্র্যাশ না করেই একটি বার্তা দেখায়।

সংক্ষেপে

কাস্টম এক্সেপশন তৈরি করার মাধ্যমে প্রোগ্রামে নির্দিষ্ট ধরনের ত্রুটি চিহ্নিত এবং হ্যান্ডল করা সহজ হয়। এটি ত্রুটি বার্তাকে আরও অর্থপূর্ণ করে এবং ডিবাগিং সহজতর করে।

Content added By

আরও দেখুন...

Promotion